Te voil arriv la fin de la deuxime partie de ce parcours complet Python

Wow ! Que de chemin parcouru depuis le dbut de cette formation !

Tu peux tre fier de toi d'tre arriv jusqu'ici

Tu matrises maintenant normment de notions qui te permettront de crer la plupart des programmes que tu as en tte.

Voici un petit rsum de tout ce que l'on a vu dans cette deuxime partie

Les fichiers

Python est un excellent langage de programmation pour effectuer des tches sur son ordinateur. Pour a, on a souvent besoin de savoir lire et crire dans des fichiers.

On a vu ensemble le format JSON qui permet d'crire et de lire des objets complexes comme les dictionnaires l'intrieur d'un fichier.

Grce au module os, on peut rcuprer la liste des fichiers dans un dossier, et avec la fonction open lire et crire dans ces fichiers. On peut ainsi aller rcuprer toute sorte d'informations, faire des recherches avances, crer des structures de centaines de dossiers et tout a automatiquement et en un temps record.

Les dictionnaires

Dernier objet complexe de cette formation, les dictionnaires permettent de stocker des donnes selon un concept de cls / valeurs. Bien plus puissant que les listes, les dictionnaires sont partout, notamment avec l'avnement des api REST, trs utilises dans le web, et qui reposent sur cette faon de reprsenter les donnes (avec le format JSON).

Plus complets et aussi plus complexes utiliser, il vous faudra un peu de temps avant de matriser totalement les dictionnaires. N'hsitez pas refaire les exercices et profiter de chaque occasion pour organiser vos donnes dans des dictionnaires pour vous familiariser avec le concept.

N'oubliez pas que les cls des dictionnaires sont uniques !

Et n'oubliez pas galement l'utilit de la mthode get qui permet d'viter les erreurs lorsqu'une cl n'est pas prsente dans un dictionnaire.

La gestion des erreurs

Quand on cre des programmes, on passe la majeure partie de notre temps grer et viter les erreurs potentielles qui peuvent se produire. Pour a, on a parfois besoin de tester certains bouts de code sans savoir au pralable si celui-ci va fonctionner.

On a ainsi vu deux faons de faire avec les mthodes LBYL (Look Before You Leap) et EAFP (Easier to Ask for Forgiveness than Permission).

Avec la mthode EAFP, on a dcouvert les blocs try / except qui nous permettent d'excuter du code sans faire planter notre script et de grer les erreurs potentielles.

N'oubliez pas de toujours prciser les erreurs que vous souhaitez rcuprer dans votre bloc try.

Un bloc try qui cible toutes les erreurs peut masquer des problmes potentiels et vous faire tourner en rond pendant un bon moment !

Les fonctions

Notion essentielle de la programmation, les fonctions permettent d'organiser votre code en diffrents blocs et d'viter ainsi les rptitions.

D'apparence simple, il y a pas mal de petits dtails auxquels il faut porter attention quand on cre et qu'on utilise des fonctions.

L'ordre des paramtres, les notions d'espaces global et local, l'utilisation des paramtres l'intrieur de la fonction, les valeurs retournes, le passage par valeur ou par rfrence, autant de petits dtails qui peuvent poser problme si on n'y fait pas attention.

Dans cette partie on a vu comment crer des fonctions, comment les appeler, comment modifier le code l'intrieur d'une fonction grce aux arguments que l'on envoie aux paramtres et comment rcuprer les valeurs retournes par une fonction.

C'est vraiment un lment essentiel de la programmation alors n'hsitez pas refaire des exercices et essayer d'organiser vos scripts en diffrentes fonctions, cela vous permettra de vous habituer passer des valeurs d'une fonction une autre et organiser votre code de faon plus logique.

Les modules et les packages

Avec les modules et les packages, on commence voir au-del de notre simple script. On passe notre temps avec Python utiliser des modules qui existent dj, mais il est bien entendu possible de crer nos propres modules.

Comme pour les fonctions, il s'agit l encore d'organiser notre code en diffrents fichiers cette fois-ci.

Et comme avec les fonctions, c'est avec la pratique que vous verrez de mieux en mieux comment scinder votre code en diffrents fichiers.

Pour le moment, retenez bien les concepts que l'on a vus et entranez-vous sparer votre code en diffrents fichiers pour pouvoir mieux maintenir et organiser vos programmes.

Documenter son code

Document son code c'est LA chose que l'on ne fait jamais quand on est dbutant en programmation. Pourtant, c'est grce la documentation que l'on gagne normment de temps.

Que ce soit pour soi-mme, en nous permettant de revenir des mois plus tard dans un programme et de toujours comprendre ce que celui-ci fait.

Et pour les autres, en leur permettant de comprendre avec des mots ce que notre script fait avec du code.

Le logging

Le logging, qu'on appelle en franais 'journalisation' (quel mot...) permet de rendre nos scripts un peu plus robustes et professionnels en affichant diffrents types de messages selon les situations.

Quand on commence programmer, on abuse des print (et c'est une bonne chose !) pour afficher tout type d'informations qui nous permettent de mieux comprendre nos scripts.

Le logging nous permet d'aller encore plus loin et d'utiliser un systme beaucoup plus avanc et pens prcisment pour n'afficher que ce dont on a besoin selon la situation.

Avec les diffrents niveaux de logging (DEBUG, INFO, CRITICAL...), on peut matriser le type d'informations que l'on souhaite afficher en fonction des circonstances.

En plus, il est possible d'crire tous ces messages dans un fichier de log sur notre disque dur et a c'est primordial pour la plupart des scripts qui fonctionnent sans notre supervision.

En cas de problme, il est ainsi beaucoup plus ais de voir aprs coup ce qui a pu mal tourner dans un script pour prendre les actions ncessaires afin de rparer les problmes.

Installer des packages avec PIP

Une des plus grandes forces de Python, c'est le nombre de packages disponibles qui nous permettent de ne pas r-inventer la roue constamment. Avec plus de 272,000 packages disponibles sur PyPi.org, il existe une solution presque tous nos problmes.

Avec pip, on a vu comment nous pouvions installer ces packages pour les utiliser dans nos scripts.

C'est un utilitaire qui peut faire peur au dbut car il faut utiliser le terminal et des instructions en ligne de commande, mais une fois que vous connaissez les quelques commandes utiliser, c'est un vrai jeu d'enfant.

Les environnements virtuels

L'utilisation de bibliothques externes comporte son lot de problmes et notamment les conflits qui peuvent arriver lorsqu'un de nos programmes doit utiliser une version diffrente d'une bibliothque.

Pour grer ces cas de figure, on a recours aux environnements virtuels qui nous permettent d'isoler diffrents environnements de Python avec chacun leurs librairies, ce qui permet par exemple d'avoir deux projets qui utilisent une version diffrente d'une mme librairie.

C'est primordial quand on commence travailler sur plusieurs projets et Python nous facilite grandement la tche avec plusieurs modules qui permettent de crer en un rien de temps un environnement complet et isol.

Dans cette formation on a vu le module venv et comment l'utiliser, l encore avec le terminal et des instructions en ligne de commande.

Cela peut tre assez droutant au dbut, surtout si vous utilisez Windows, alors n'hsitez pas poser des questions sur le Discord si vous n'tes pas sr de comment raliser toutes ces tapes ou de comment interprter les possibles erreurs qui vous seront retournes.

La programmation oriente objet

La programmation oriente objet... tout un programme !

On pourrait faire une formation entire de 10h sur la programmation oriente objet.

C'est un paradigme complet qui peut prendre des annes tre matris correctement.

Dans cette formation, on a vu les bases de la programmation oriente objet. Tous les concepts de base comme les classes, les instances, les attributs, les mthodes et comment les utiliser dans des cas concrets.

Je ne vais pas tout dtailler de nouveau ici, ne vous inquitez pas si certaines notions sont encore assez floues o si vous n'avez pas tout retenu.

Regardez de nouveau les parties de cette formation sur la POO, faites les projets, respirez, sortez dehors, et refaites tout a encore et encore et vous finirez par y arriver.

Personnellement, la programmation oriente objet, a m'a pris facilement 6 mois comprendre quoi a pouvait servir et comment vraiment l'utiliser. Donc pas de panique si vous ne comprenez pas tout au bout de 2 jours de formation sur le sujet

Les bases de donnes

On avait vu prcdemment dans la formation comment stocker des donnes notamment dans des fichiers JSON.

C'est pratique pour des petits programmes, mais quand on commence vouloir aller plus loin et rellement organiser ses donnes, on est oblig de passer par une vraie base de donne et un langage comme le SQL.

Dans cette partie, on a vu comment utiliser le module sqlite3 avec Python pour crer, modifier, supprimer des tables et des entres dans une base de donne.

Ce n'est bien sr qu'un aperu rapide de ce qu'il est possible de faire, l encore on pourrait consacrer une formation entire de 10h sur le sujet.

Bilan de comptence

Pour que tu sois sr d'tre au point sur tous ces sujets, tu peux tlcharger sur cette session une fiche qui liste tous ces points avec des cases ct de chaque notion.

Si tu le souhaites, tu peux imprimer cette fiche et lire les points un par un pour t'assurer que rien ne te semble tranger.

Pour chaque notion, tu peux ensuite cocher la case correspondante pour valider tes acquis

Si jamais un terme ne te semble pas familier, je t'invite revenir en arrire pour revoir ces points en question.

  Si tu as coch toutes les cases et que tu sens que tu es fin prt, on se retrouve dans la prochaine partie avec l'examen pratique de cette deuxime partie qui te permettra de tester tout ce qu'on a vu jusqu' prsent.

Bonne chance
Thibault.